{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Satellite Orbits"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<i>© Von P. Walden, Washington State University</i>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Satellites typically orbit the Earth in a few different orbital paths:  geostationary, geosynchronous, polar, or low-earth orbits."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Satellite orbits obey Newton's Law of Gravitation:\n",
    "\n",
    "$$ \\vec{\\mathbf{F}} = \\frac{GMm}{R^2}$$\n",
    "\n",
    "where G is the graviational constant, M is the mass of the Earth, m is the mass of the satellite, and R is the radius of the orbit."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The gravitational force is set equal to the centripetal force, since the satellite's motion around Earth is naerly circular. Note that it is incorrect to say that the satellite does not fall to Earth because the gravitational attraction of the Earth \"is balanced by the centrifugal force\". Pseudo forces such as the centrifugal force appear only in accelerated reference frames. In the Earth frame, the satellite does accelerate towards Earth with acceleration $v^2 / r$, produced by a single unbalanced force of gravity on it (Tipler, 1976). Note that the acceleration, however, occurs because the velocity is changing direction, so speed!!\n",
    "\n",
    "$$ \\vec{\\mathbf{F}} = \\vec{\\mathbf{F_c}} = \\frac{GMm}{R^2} = \\frac{m v^2}{R} = m\\omega^2R $$\n",
    "\n",
    "where\n",
    "\n",
    "$$ v = r \\omega $$\n",
    "\n",
    "$$ \\omega = \\frac{2\\pi}{\\Gamma} $$\n",
    "\n",
    "$$ R = \\bigg[ \\frac{GM \\Gamma^2}{4\\pi^2} \\bigg]^{1/3} $$\n",
    "\n",
    "where $\\Gamma$ is the period of the orbit."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Geosynchronous and Geostationary orbits"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Reference:  http://en.wikipedia.org/wiki/Geostationary_orbit"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Geosynchronous orbits have a period that is equal to one day, because the satellite rotates above a single spot on the Earth.  Geostationary orbits are located above the equator."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Populating the interactive namespace from numpy and matplotlib\n"
     ]
    }
   ],
   "source": [
    "%pylab inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "Rearth = 6371.                     # Units: km\n",
    "G      = 6.67384e-11               # Units: m3 kg-1 s-2\n",
    "M      = 5.9736e24                 # Units: kg\n",
    "T      = 24. * 60. * 60.           # Units: length of one day in seconds"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "R = ( (G*M*T**2) / (4*pi**2) )**(1./3.) / 1000.   # Units: kilometers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "Rorbit = R - Rearth"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The height of the orbit above the Earths surface is  35872 kilometer\n"
     ]
    }
   ],
   "source": [
    "print('The height of the orbit above the Earth''s surface is %6.0f kilometer' % Rorbit)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### The speed of the satellite is:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$ v = \\frac{2\\pi}{T}*R $$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "v = 2*pi*R*1000. / T    # Units: m/s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The velocity of the satellite is  3072 m/s\n"
     ]
    }
   ],
   "source": [
    "print('The velocity of the satellite is %5.0f m/s' % v)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Polar Orbit"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Reference:  http://en.wikipedia.org/wiki/Polar_orbit"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Polar-orbiting satellites are placed into much lower orbits so that the orbital period is short.  This allows the satellite to circle the Earth many times each day, providing nearly global coverage.  A typical polar-orbiting satellite (like EOS Terra and Aqua) will repeat their orbital cycle every 14 days or so.  This means that the satellite returns to the same position above the Earth every 14 days."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The typical height of a polar-orbiting satellites above the Earth is about 1000 km.  The radius of the orbit for the EOS Terra satellite is 7,077.7 kilometers: http://en.wikipedia.org/wiki/Terra_(satellite)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "R = 7077.7 * 1000.           # Units: meters"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The period of the satellite can be determined from:\n",
    "\n",
    "$$ T = 2\\pi\\sqrt{\\frac{R^3}{GM}} $$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The period of a typical polar-orbiting satellite is about 98.8 minutes.\n"
     ]
    }
   ],
   "source": [
    "T = 2*pi*sqrt(R**3/(G*M)) / 60.        # Units: minutes\n",
    "print('The period of a typical polar-orbiting satellite is about %4.1f minutes.' % T)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Sun-synchronous Orbit"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Reference: https://en.wikipedia.org/wiki/Sun-synchronous_orbit"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "An example of a satellite that uses a sun-synchronous orbit is [Radarsat](https://en.wikipedia.org/wiki/RADARSAT). Why do you think that is?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  },
  "widgets": {
   "state": {},
   "version": "1.1.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
